KINGSTAR OPC UA
在本節中將看到關於 OPC UA 的說明,以及為何選擇使用此協議的原因及如何配置安全設定。
OPC UA 是什麼?
根據 OPC 基金會,OPC 是一項應用於自動化行業及其他行業的資料安全交換可互操作性標準。它獨立於平台,並確保來自多個廠商的設備之間資訊的無縫傳輸,OPC基金會負責該標準的開發和維護。
OPC標準是由行業供應商、終端用戶和軟體開發者共同制定的一系列規範。這些規範定義了客戶端與伺服器之間以及伺服器與伺服器之間的介面,比如訪問即時資料、監控警報和事件、訪問歷史資料和其他應用程式等,都需要 OPC 標準的協調。
OPC標準於1996年首次發布,其目的是將 PLC 特定的協議(如 Modbus、Profibus 等)抽象成為標準化的介面,作為“中間人”的角色,將通用的 OPC “讀寫”請求轉換成具體的設備協議來與 HMI/SCADA 系統直接對接,反之亦然。就此出現了一個完整的產品行業,終端用戶可以借助其來最優化產品,通過 OPC 協議來實現系統的無縫交互。
最初,OPC 標準僅限於 Windows 操作系統。因此,OPC 是 OLE for Process Control 的縮寫(中文含義:用於過程控制的OLE)。我們所熟知的 OPC 規範一般是指 OPC Classic,被廣泛應用於各個行業,包括製造業,營建自動化,石油和天然氣,可再生能源和公用事業等領域。
隨著在製造系統以服務為導向架構的引入,如何重新定義架構來確保數據的安全性?這給 OPC 帶來了新的挑戰,也促使 OPC 基金會創立了新的架構—— OPC UA,以滿足這些需求。與此同時,OPC UA 也為將來的開發和拓展提供了一個功能豐富的開放式技術平台。
今天,縮寫 OPC 代表開放平台通信 (Open Platform Communications)。
統一架構
於 2008 年發布的 OPC 統一架構 (Unified Architecture, UA) 將各個OPC Classic 規範的所有功能統合到一個可擴充的框架中,獨立於平台且以服務為導向。
這種多層次方法實現了最初設計UA規範時的目標:
-
功能對等性:將所有 COM OPC Classic 規範映射到 UA。
-
平台獨立性:從嵌入式微控制器到基於雲端的基礎設施。
-
安全性:信息加密、身份認證和審計。
功能對等性
基於 OPC Classic 的成功,OPC 基金會推出了新的技術標準 OPC UA。OPC UA 實現了所有 OPC Classic 的功能,並有以下的增強和超越:
-
發現:在本地 PC 或網絡上查找可用的 OPC 伺服器。
-
地址空間:所有資料分層顯示(例如文件和文件夾),用於 OPC 客戶端發現、利用簡單和複雜的資料結構。
-
依照需要:基於訪問權限讀取和寫入資料/訊息。
-
訂閱:監測數據/信息,並在當值變化超出客戶端的設定時報告異常。
-
事件:依照客戶端的標準來設定通知重要訊息。
-
方法:客戶端可以基於伺服器定義的方法來執行程序等。
平台獨立性
鑒於市場上有各種各樣的硬體平台和操作系統,平台獨立性就顯得至關重要。OPC UA 包含但不限於以下平台及系統:
-
硬體平台:傳統 PC 硬體、雲伺服器、PLC、微控制器(ARM 等)。
-
操作系統:Microsoft Windows、Apple OSX、Android 或任何 Linux 發行的版本等等。
OPC UA 為企業之間的互操作性提供必要的 M2M、M2E 及兩者之間的基礎架構。
安全性
企業在選擇技術標準時最重要的考量之一是安全性。OPC UA 通過提供一套控制方案來解決安全問題,並透過防火牆來實現:
-
傳輸:定義了許多協議,提供了超快的 OPC 二進制傳輸或更通用的 SOAP-HTTPS 等選項。
-
會話加密:訊息以不同的加密級別安全地傳輸。
-
訊息簽名:訊息簽名可以保證接收到的信息的準確性和完整性。
-
排序資料包:通過排序消除已發現的訊息重放攻擊。
-
身份認證:每個 UA 的客戶端和伺服器都需要通過 X509 證書標識,從而決定哪些應用程式和系統可以相互連接。
-
使用者控制:應用程式可以要求使用者進行身份驗證(登錄憑證,證書等),並且可以進一步限制或增強使用者的訪問權限和地址空間的「視圖」能力。
-
審計:記錄使用者和/或系統的活動,提供存取審計追蹤。
更多關於 OPC UA 的資訊請前往其官網查看:https://opcfoundation.org/about/opc-technologies/opc-ua/
KINGSTAR 如何運用 OPC UA?
KINGSTAR 選用 OPC UA 的原因為其提供了完整的功能性及安全性。
資料存取:用戶可透過 KINGSTAR 所提供的 OPC UA 資料存取功能將 HMI 或 SCADA 連接至 KINGSTAR 子系統,而 HMI 或 SCADA 可透過 OPC UA 伺服器讀取或寫入 KINGSTAR 使用者變數及 PLC 全域變數。例如: 使用者可為各軸的移動速度設定使用者變數,接著 HMI 透過 OPC UA 讀取該速度變數並將其顯上於使用者介面上。更多關於 OPC UA 的設定,請見 OPC UA 伺服器。
API 存取:允許使用者在遠端電腦上呼叫 KINGSTAR Motion 或 EtherCAT 之 API,透過 KINGSTAR OPC UA 用戶端函式庫,用戶可輕鬆的於遠端呼叫 KINGSTAR Motion 或 EtherCAT。更多關於與端 API 之資訊請見 IntervalZero.KINGSTAR.OpcUa.Api 及 IntervalZero.KINGSTAR.OpcUa.Class。
基於 OPC UA API 存取功能,KINGSTAR 提供了兩個控制工具:KINGSTAR 設定工具及 示波器,這兩個工具皆可在遠端電腦上執行,且可監控及控制 PC。更多關於如何安裝遠端工具的資訊請見:安裝 KINGSTAR 遠端工具。
管理存取:提供控制器管理相關的功能,此功能主要為未來版本的控制管理工具所建立,
如何在 KINGSTAR 中配置 OPC UA 安全設定 ?
KINGSTAR OPC UA 伺服器可自動生成自簽署憑證以用於主從端通訊。以下內容說明了伺服器的憑證管理流程及相關配置設定。
- 預設憑證效期:由伺服器自動生成的憑證其預設效期為 10 年(120 個月)。此設計旨在減少頻繁地進行憑證更新流程,以確保伺服器與用戶端在長時間下保持穩定通訊。
- 再生憑證期限:預設為 60 個月。為防止憑證過期,伺服器會在啟動時檢查憑證的效期。若伺服器啟動時,距離目前憑證的到期日不到 60 個月,伺服器將會自動建立新的憑證以替換舊憑證。
- 存取配置檔:欲查看或修改憑證的效期和再生憑證期限,管理員可透過修改配置檔中的設定值進行變更。
- 至以下路徑找到配置檔:C:\Program Files\IntervalZero\KINGSTAR\bin\IntervalZero.KINGSTAR.OpcUa.Server.exe.config
- 在 appSettings 找到以下參數並修改其設定值。
- DefaultCertificateLifeTimeInMonths:設定憑證的預設效期(單位:月)。預設為 120 個月。
- CertificateRecreationThresholdInMonths:定義伺服器啟動時,用於檢查憑證到期日以判定是否進行憑證再生的閥值(單位:月)。預設為 60 個月。
預設情況下,KINGSTAR OPC UA 伺服器支援所有的授權,這表示任何用戶皆可連接上 KINGSTAR OPC UA 伺服器進行加密資料的存取,但不會執行用戶驗證,具有正確 IP 和密碼的任何用戶都可連接上 KINGSTAR OPC UA 伺服器。欲提高安全性,可透過更改以下檔案以停用支援所有授權:KINGSTAR\bin 資料夾中的 KingstarServer.Config.xml 檔,於檔案中輸入命令列 "<AutoAcceptUntrustedCertificates>true</AutoAcceptUntrustedCertificates>" 以停用支援所有授權。
停用後,請將信任的憑證儲存到下列資料夾中:
- 針對 KINGSTAR 4.5 及之後版本,將信任的憑證存到 C:\ProgramData\OPC Foundation\pki\server\trusted\certs
- 針對 KINGSTAR 4.4 及之前版本,將信任的憑證存到 C:\ProgramData\OPC Foundation\pki\trusted\certs
參見